package com.happy.xiao.common.rabbitmq.service;

public interface IDLXMessage {

    /**
     * 发送公共死信队列消息
     * @param message
     * @param callbackURL
     * @param delayTimes
     * @return
     * @throws Exception
     */
    boolean sendCommonDelayMessage(String message, String callbackURL, long delayTimes) throws Exception;


    /**
     * 发送公共死信队列消息
     * @param object
     * @param callbackURL
     * @param delayTimes
     * @param <T>
     * @return
     * @throws Exception
     */
    <T> boolean sendCommonDelayMessage(T object, String callbackURL, long delayTimes) throws Exception;

    /**
     * 发送公共死信队列消息
     * @param message
     * @param callbackURL
     * @param delayTimes
     * @param reliabilityTimes
     * @return
     * @throws Exception
     */
    boolean sendCommonDelayMessage(String message, String callbackURL, long delayTimes, long reliabilityTimes) throws Exception;

    /**
     * 发送公共死信队列消息
     * @param object
     * @param callbackURL
     * @param delayTimes
     * @param reliabilityTimes
     * @param <T>
     * @return
     * @throws Exception
     */
    <T> boolean sendCommonDelayMessage(T object, String callbackURL, long delayTimes, long reliabilityTimes) throws Exception;

}
